Repository navigation
Conversation
On this branch 26.1 keeps its yaml in data/pc/26.1, which the master merges don't update, so it had fallen behind master's data/pc/latest/proto.yml (PrismarineJS#1254, PrismarineJS#1278, PrismarineJS#1295) while 26.1/protocol.json already matched master. Copying master's yaml fixes the 'protocol.json is desynced from yaml' test; npm run build leaves protocol.json unchanged.
minecraft:attribute has 40 entries in 26.2 (checked against the 26.2 server's registries report). air_drag_modifier, below_name_distance, bounciness, friction_modifier and name_tag_distance are inserted in registry order, so without them every entity_update_attributes key from id 0 on decoded as its neighbour.
node-minecraft-protocol turns the packet's holder value into the registry id and mineflayer indexes registry.sounds by it, so 1-based ids resolve every registry sound to its neighbour (the same fix PrismarineJS#1316 makes for 1.14 - 26.1). Regenerated from the 26.2 registries report; names and order are unchanged.
Captured by node-minecraft-protocol's client test against the vanilla 26.2 server. The previous file was 26.1's registries with onlineMode added, so it lacked the new minecraft:sulfur_cube_archetype registry, the sulfur_cube_hot damage type and the bounce jukebox song, and kept 26.1's enchantment predicates and timeline values. Every registry entry was compared with the 26.2 server jar's datapack JSON: the only differences are the fields vanilla does not sync to clients (spawn_conditions, carvers, gameplay attributes and tracks).
Extracted from the 26.2 server jar's loot tables with minecraft-jar-extractor's extraction and prismarine-loottable master (which has PrismarineJS/prismarine-loottable#15). The same run on the 26.1.2 jar reproduces the 26.1 files from PrismarineJS#1312 entry for entry, so 26.2 follows the same conventions. The previous files were the 1.20 tables plus the new 26.2 blocks, so they still named chain and grass and lacked everything added since 1.20. 26.2 adds loot for the 28 sulfur and cinnabar blocks and the sulfur cube; no existing table changed.
extremeheat
reviewed
Oct 30, 2026
Comment on lines
+2496
to
+2498
| hand: varint => | ||
| - main_hand | ||
| - off_hand |
Comment on lines
+3784
to
+3785
| - main_hand | ||
| - off_hand |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces #1339, as asked in #1219. This is based on the current
pc_26_2(282f19b, with latest master) and contains only the 26.2 changes.Changes
data/pc/26.1/proto.ymlwith master. On this branch 26.1 keeps its yaml in its own directory, and the master merges don't update that copy. It had fallen behind master'slatest/proto.yml(Fix ClientboundEntityUpdateAttributes key mapper: missing attributes shift every subsequent attribute's name #1254, pc/26.1: map every InteractionHand field to main_hand/off_hand #1278, Fix PC protocol enum inconsistencies in difficulty, game-state reasons, and entity actions packet fields #1295), while26.1/protocol.jsonalready matched master, so theprotocol.json is desynced from yamltest failed. This is master's yaml as is, andnpm run buildleavesprotocol.jsonunchanged.minecraft:attributehas 40 entries in 26.2.air_drag_modifier,below_name_distance,bounciness,friction_modifierandname_tag_distanceare inserted in registry order. Without them, everyentity_update_attributeskey from id 0 on decoded as its neighbour (live,movement_speedarrived asexplosion_knockback_resistance).sounds.jsonnumbered from 0, from the 26.2sound_eventregistry (same names, same order). node-minecraft-protocol turns the holder value into the registry id and mineflayer indexesregistry.soundsby it, so 1-based ids resolved every registry sound to its neighbour. This is the fix pc: sound ids from the registry (0-based) and sounds for every 1.14+ version #1316 makes for 1.14 to 26.1.loginPacket.jsonregenerated from a vanilla 26.2 server, captured by node-minecraft-protocol's client test. The old file was 26.1's registries plusonlineMode. It lacked the newminecraft:sulfur_cube_archetyperegistry, thesulfur_cube_hotdamage type and thebouncesong, and it kept 26.1's enchantment predicates (what pc 26.2: fix enchantment entity predicates in loginPacket.json #1322 fixes by hand) and timeline values. I compared every entry with the jar's datapack JSON: the only differences are the fields vanilla does not sync to clients.chainandgrass. 26.2 adds the 28 sulfur and cinnabar blocks and the sulfur cube; no existing table changed.Compared with #1339, I dropped the
minecraft:colortominecraft:team_colorcommand argument rename, following the updated naming guidance incopilot-instructions.md. The id is unchanged, so the old name still decodes correctly.Testing
npm testintools/js: 3308 passing, 90 pending, 0 failing. On the currentpc_26_2without this PR, the sound ids, the 26.2 loot and the 26.1 yaml sync fail.26.2/protocol.jsonlines up by id with the vanilla 26.2registries.json. The namestrial_spawner_detected_player,nbt,dyed_slot_demoandcolordiffer from vanilla but are kept on purpose. Blocks (32366 states), items, entities, metadata, particles, sounds and attributes all match the reports.